package com.sevent;

/**
 * 有个小孩正在上楼梯，楼梯有n阶台阶，小孩一次可以上1阶、2阶、3阶。
 * 请实现一个方法，计算小孩有多少种上楼的方式。
 * <p>
 * <p>
 * 给定一个正整数int n，请返回一个数，代表上楼的方式数。
 * 保证n小于等于100000。
 */

public class 递归题目二_走楼梯 {
    public static void main(String[] args) {
        System.out.println(run(7));
    }

    public static int run(int n) {
        if (n <= 0) {
            return 0;
        }
        if (n == 1) {
            return 1;
        }
        if (n == 2) {
            return 2;
        }
        if (n == 3) {
            return 4;
        }
        return run(n - 1) + run(n - 2) + run(n - 3);
    }
}
